def SHARP_boxui_getCmd():
    '''√
    读取对应指令数据

    * 参数 : 
        * *str:返回对应指令数据(字符串)

    * 返回 
        * >=0:返回对应指令数据(字符串)成功
        * -1:接收超时
        * -2:接收指令错误

    * raise  :   无            
    '''

def SHARP_boxui_printf(fmt):
    '''√
    打印内容到第二页右边的文本框,相当于printf函数

    * 参数 
        * *fmt:内容格式(字符串格式)

    * 返回 
        * >=0:打印成功
        * <0:打印失败

    * raise  :   无                 
    '''

def SHARP_boxui_clearPrintf():
    '''√
    清空第二页右边文本框打印的内容

    * 参数 : 无

    * 返回 
        * >=0:清空成功
        * <0:清空失败

    * raise  :   无                  
    '''

def SHARP_boxui_selectShowPage(page):
    '''√
    选择显示某页界面

    * 参数 : 无

    * 返回
        * >=0:显示成功
        * <0:显示失败

    * raise  :   无                 
    '''

def SHARP_boxui_creatButton(name,page):
    '''√
    创建按键(在界面上指定的页面动态创建一个按键,创建过多可能会显示不全)

    * 参数 
        * *name:按键的名称(字符串格式,过多字符可能会显示不全,可创建中文按键) 
        * page:页面(0~1)(从0(首页)开始,1为第一页)

    * 返回 
        * >=0:创建成功
        * <0:创建失败
                
    * raise  :   无                
    '''

def SHARP_boxui_creatButtonPage4(name,x,y,height,width,size):
    '''√
    创建按键(在界面上的第4页动态创建一个按键,创建过多可能会显示不全)

    * 参数 
        * *name:按键的名称(字符串格式,过多字符可能会显示不全,可创建中文按键)
        * x:起始横坐标
        * y:起始纵坐标
        * height:按键的高度
        * width:按键的宽度
        * size:按键的字体大小

    * 返回
        * >=0:创建成功
        * <0:创建失败
    
    * raise  :   无    
    '''

def SHARP_boxui_setButton_backColor(name,color):
    '''√
    设置已创建的按键背景颜色

    * 参数 
        * *name:要设置的按键名称(字符串格式)
        * color:按键的背景颜色(pcui.h里有常用颜色,或等于 NOT 宏定义(表示不设置标签的背景颜色))

    * 返  回 
        * >=0:创建成功
        * <0:创建失败

    * raise  :   无                
    '''

def SHARP_boxui_getButton_backColor(name):
    '''√
    获取已创建的按键背景颜色

    参数 
        * name:要获取的按键名称(字符串格式)
    
    * 返回 
        * 返回按键的背景颜色(返回格式:0xXXXXXX)
        * <0:获取失败

    * raise  :   无                
    '''

def SHARP_boxui_setLabel_Parameter(name,content,color):
    '''√
    设置标签参数(在界面上的首页动态创建一个标签,并设置标签的字体颜色和内容,若标签名相同,则只设置标签的字体颜色或标签内容)

    * 参数 
        * name:标签名(字符串格式,过多字符可能会显示不全,可中文标签名)
        * *content:标签名的内容(字符串格式,或等于 0 或 NULL(表示不设置标签名的内容),过多字符可能会显示不全)
        * color:标签名的字体颜色(pcui.h里有常用颜色,或等于 NOT 宏定义(表示不设置标签的字体颜色))

    * 返回 
        * >=0:设置成功
        * <0:设置失败
    
    * raise  :   无
    '''

def SHARP_boxui_setLineEdit_Parameter(name,content):
    '''√
    设置单行编辑框参数(在界面上的首页动态创建一个单行编辑框)

    * 参数 
        * *name:单行编辑框左边的标签名(字符串格式,过多字符可能会显示不全,可中文标签名)
        * *content:编辑框里的内容(字符串格式,或等于 0(表示没有内容),过多字符可能会显示不全,可中文内容)

    * 返回
        * >=0:设置成功
        * <0:设置失败

    * raise  :   无            
    '''

def SHARP_boxui_setLineEdit_ParameterPage4(x1,y1,width,size,bgcolor,type,name,content):
    '''√
    设置单行编辑框参数(在界面上的第4页上某一位置动态创建一个单行编辑框)

    * 参数 
        * x1:起点横坐标(以像素为单位)
        * y1:起点纵坐标(以像素为单位)
        * width:单行编辑框的宽度(以像素为单位)
        * size:单行编辑框左边标签名的字体大小
        * bgcolor:单行编辑框的背景颜色
        * type:单行编辑框类型(0:编辑框里面的内容不可以修改,1:编辑框里面的内容可以修改)
        * *name:单行编辑框左边的标签名(字符串格式,过多字符可能会显示不全,可中文标签名)
        * *content:编辑框里的内容(字符串格式,或等于 0(表示没有内容),过多字符可能会显示不全,可中文内容)

    * 返回 
        * >=0:设置成功
        * <0:设置失败
    
    * raise  :   无   
    '''

def SHARP_boxui_getLineEdit_Content(name,content):
    '''√
    获取单行编辑框内容(获取界面上的首页已设置的单行编辑框内容)

    * 参数
        * *name:要获取的单行编辑框左边的标签名(字符串格式,过多字符可能会显示不全,可中文标签名)
        * *content:存放获取到编辑框里的内容(字符串格式,可中文内容)

    * 返回 
        * >=0:获取成功
        * <0:获取失败
    
    * raise  :   无   
    '''

def SHARP_boxui_getLineEdit_ContentPage4(name,content):
    '''√
    获取单行编辑框内容(获取界面上的第4页已设置的单行编辑框内容)

    * 参数 
        * *name:要获取的单行编辑框左边的标签名(字符串格式,过多字符可能会显示不全,可中文标签名)
        * *content:存放获取到编辑框里的内容(字符串格式,可中文内容)

    * 返回 
        * >=0:获取成功
        * <0:获取失败

    * raise  :   无            
    '''

def SHARP_boxui_setDialog(content,type):
    '''√
    设置对话框(在界面上弹出一个对话框)

    * 参数 
        * *content:对话框的内容(字符串格式,可中文内容)
        * type:对话框类型(0:不带编辑框,1:带编辑框)

    * 返回 
        * >=0:设置成功
        * <0:设置失败

    * raise  :   无               
    '''

def SHARP_boxui_creatTable(row,column):
    '''√
    创建表格(在界面上的第三页创建一个表格)

    * 参数 
        * row:表格的行数
        * column:表格的列数

    * 返回 
        * >=0:创建成功
        * <0:创建失败

    * raise  :   无               
    '''

def SHARP_boxui_setRowTableName(name,nameLen,height,bgcolor):
    '''√
    设置行表格名(在界面上的第三页已有表格设置行表格名)

    * 参数 
        * name:行表格名 (列表形式传回 ,最多支持256个数据)
        * nameLen:行表格名的个数
        * height:行表格名的高度(以像素为单位,为0则使用系统默认的像素长度)
        * bgcolor:行表格名的背景颜色(pcui.h里有常用颜色,或等于 NOT 宏定义(表示使用默认的背景颜色))

    * 返回 : 
        * >=0:设置成功
        * <0:设置失败

    * raise  :   无               
    '''

def SHARP_boxui_setColumnTableName(name,nameLen,breadth,bgcolor):
    '''√
    设置列表格名(在界面上的第三页已有表格设置列表格名)

    * 参数
        * name:列表格名(列表形式传回 ,最多支持256个数据)
        * nameLen:列表格名的个数
        * breadth:列表格名的宽度(以像素为单位,为0则使用系统默认的像素宽度)
        * bgcolor:列表格名的背景颜色(pcui.h里有常用颜色,或等于 NOT 宏定义(表示使用默认的背景颜色))

    * 返回 
        * >=0:设置成功
        * <0:设置失败
    
    * raise  :   无       
    '''

def SHARP_boxui_setTableContent(row,column,content,color,width,height,text_size):
    '''√
    设置表格内容(在界面上的第三页已有表格上设置对应第n行和第n列的内容)

    * 参数 
        * row:表格的行数
        * column:表格的列数
        * *content:对应第row行和第column列的内容
        * color:对应第row行和第column列的背景颜色
        * width:列表格内容的宽度(以像素为单位,为0则使用系统默认的像素宽度)
        * height:行表格内容的高度(以像素为单位,为0则使用系统默认的像素长度)
        * text_size:字体大小

    * 返回 
        * >=0:设置成功
        * <0:设置失败

    * raise  :   无   
    '''

def SHARP_boxui_creatColorBlock(x1,y1,x2,y2,color):
    '''√
    在界面上的第四页上创建一个色块

    * 参数
        * x1:起点横坐标(以像素为单位)
        * y1:起点纵坐标(以像素为单位)
        * x2:终点横坐标(以像素为单位)
        * y2:终点纵坐标(以像素为单位)
        * color:色块的背景颜色

    * 返回 
        * >=0:设置成功
        * <0:设置失败
    
    * raise  :   无   
    ''' 

def SHARP_boxui_setBlockContentPage4(x1,y1,x2,y2,color,bgcolor,size,content):
    '''√
    在界面上的第四页上设置内容(带背景颜色)

    * 参数 
        * x1:起点横坐标(以像素为单位)
        * y1:起点纵坐标(以像素为单位)
        * x2:终点横坐标(以像素为单位)
        * y2:终点纵坐标(以像素为单位)
        *  color:内容的字体颜色
        * size:内容的字体大小
        * *content:色块里的内容(字符串格式)

    * 返回 
        * >=0:设置成功
        * <0:设置失败

    * raise  :   无             
    '''

def SHARP_boxui_createEwm(name):
    '''×
    在首页创建一个扫码框

    * 参数 
        * *name:扫码框的名字

    * 返回 
        * >=0:创建成功
        * <0:创建失败
    
    * raise  :   无     
    '''

def SHARP_boxui_createEwmPage4(name,x,y,height,width,size):
    '''√
    在第4页上的某个位置创建一个扫码框

    * 参数 
        * *name:扫码框的名字
        * x:起始横坐标
        * y:起始纵坐标
        * height:扫码框的高度
        * width:扫码框的宽度
        * size:扫码框标签的字体大小

    * 返回 
        * >=0:创建成功
        * <0:创建失败
    
    * raise  :   无 
    '''

def SHARP_boxui_createEspBox(x1,y1,x2,y2):
    '''√
    在第4页上的某个位置创建方框

    * 参数 
        * x1:起点横坐标(以像素为单位)
        * y1:起点纵坐标(以像素为单位)
        * x2:长(以像素为单位)
        * y2:宽(以像素为单位)

    * 返回 
        * >=0:创建成功
        * <0:创建失败

    * raise  :   无             
    '''

def SHARP_boxui_addComboBox(x1,y1,x2,y2,size,identify,content):
    '''√
    在第4页上的某个位置添加下拉框内容

    * 参数 
        * x1:起点横坐标(以像素为单位)
        * y1:起点纵坐标(以像素为单位)
        * x2:终点横坐标(以像素为单位)
        * y2:终点纵坐标(以像素为单位)
        * size:字体大小
        * *identify:某组下拉框的标识名
        * *content:下拉框内容

    * 返回 
        * >=0:添加成功
        * <0:添加失败

    * raise  :   无               
    '''

def SHARP_boxui_getComboBox(identify,content):
    '''√
    根据某组下拉框标识名获取选中的内容

    * 参数 
        * *identify:某组下拉框的标识名
        * *content:获取到的下拉框内容

    * 返回 
        * >=0:获取成功
        * <0:获取失败

    * raise  :   无             
    '''

def SHARP_boxui_clearComboBox(identify):
    '''√
    根据某组下拉框标识名清除所有内容

    * 参数 
        * *identify:某组下拉框的标识名

    * 返回 
        * >=0:清除成功
        * <0:清除失败

    * raise  :   无            
    '''

def SHARP_boxui_clearFourPage():
    '''√
    清除在界面上第四页里的所有色块和内容

    * 参数 : 无

    * 返回 
        * >=0:清除成功
        * <0:清除失败

    * raise  :   无              
    '''

def SHARP_boxui_clearWidget():
    '''√
    清除界面上的所有控件

    * 参数 : 无

    * 返回 
        * >=0:清除成功
        * <0:清除失败

    * raise  :   无                
    '''

def SHARP_boxui_locationEwmCursor(name):
    '''√     
    定位在第4页的扫码框光标

    * 参数 
        * *name:扫码框的名字

    * 返回 
        * >=0:定位成功
        * <0:定位失败
    
    * raise  :   无 
    '''

def SHARP_box_ui_setTableSpan(row,column,x_count,y_count,content):
    '''√
    合并表格并可设置内容

    * 参数 
        * row:行
        * column:列
        * x_count:x个
        * y_count:y个
        * *content:内容(字符串格式)

    * 返回 
        * >=0:合并成功
        * <0:合并失败

    * raise  :   无             
    '''

def SHARP_box_ui_createTableWidget(row,column,flag):
    '''√
    创建表格(在界面上的第三页创建一个表格,带是否不拖动功能)

    * 参数 
        * row:表格的行数
        * column:表格的列数
        * flag:是否不拖动表格的长宽(flag = 0:不拖动,flag = 1:拖动)

    * 返回 
        * >=0:创建成功
        * <0:创建失败

    * raise  :   无             
    '''

def SHARP_box_ui_setTableContent2(row,column,content,color,width,height,text_size,text_color):
    '''√
    设置表格内容(在界面上的第三页已有表格上设置对应第n行和第n列的内容)

    * 参数 
        * row:表格的行数
        * column:表格的列数
        * *content:对应第row行和第column列的内容
        * color:对应第row行和第column列的背景颜色
        * width:列表格内容的宽度(以像素为单位,为0则使用系统默认的像素宽度)
        * height:行表格内容的高度(以像素为单位,为0则使用系统默认的像素长度)
        * text_size:字体大小
        * text_color:字体颜色

    * 返回 
        * >=0:设置成功
        * <0:设置失败
    
    * raise  :   无   
    '''

def SHARP_box_ui_setTableContentN2(tabelName,row,column,content,bgcolor,width,height,text_size,text_color):
    '''
    设置表格内容(在界面上的某一页已有表格上设置对应第row行和第column列的内容,ps:目前只有第六页有这个功能)

    * 参数 
        * row:表格的第row行
        * column:表格的第column列
        * *content:对应要设置的第row行第column列的内容
        * bgcolor:对应要设置的第row行第column列的背景颜色(0x00FF00表示绿色)
        * width:第column列的表格内容宽度(以像素为单位,为0则使用系统默认的像素宽度)
        * height:第row行的表格内容高度(以像素为单位,为0则使用系统默认的像素长度)
        * text_size:内容的字体大小
        * text_color:内容的字体颜色

    * 返回 
        * >=0:设置成功
        * <0:设置失败

    * raise  :   无               
    '''

def SHARP_box_ui_setTableSpan2(row,column,x_count,y_count,content,bgcolor,text_size,text_color):
    '''√
    合并界面上的第三页已有表格并可设置内容

    * 参数 
        * row:行
        * column:列
        * x_count:x个
        * y_count:y个
        * *content:内容(字符串格式)
        * bgcolor:对应要设置合并后的第row行第column列的背景颜色(0x00FF00表示绿色)
        * text_size:合并后内容的字体大小
        * text_color:合并后内容的字体颜色

    * 返回
        * >=0:合并成功
        * <0:合并失败

    * raise  :   无                  
    '''

def SHARP_box_ui_createTableWidget2(row,column,flag1,flag2):
    '''√
    创建表格(在界面上的第三页创建一个表格,并且可以对表头进行固定操作(是否不拖动功能)或隐藏操作)

    * 参数 
        * row:表格的行数
        * column:表格的列数
        * flag1:表头固定操作(是否不拖动表格的长宽(flag1 = 0:固定(不拖动),flag1 = 1:不固定(拖动)))
        * flag2:表头隐藏操作(flag2 = 0:隐藏,flag2 = 1:不隐藏)

    * 返回
        * >=0:创建成功
        * <0:创建失败

    * raise  :   无                
    '''

def SHARP_box_ui_setCurrentTabs(mianTab,subTab):
    '''√
    选择显示某页界面

    * 参数 : 
        *mianTab : 切换到指定页面(范围0-6，0为主页)
        *subTab  : 切换到指定页面里的子页面(不需要传递此参数时可以设为-1)，mianTab为6时要传递此参数

    * 返回 
        * >=0:显示成功
        * <0:显示失败

    * raise  :   无                  
    '''

def SHARP_box_ui_showTabs(nums):
    '''√
    只显示某一页或者几页

    * 参数 : 
        * nums : 需要显示的页面，其他页面则会隐藏

    * 返回 
        * >=0:显示成功
        * <0:显示失败

    * 示  例 : show_box_ui_showTabs("0,1,4,6");  //显示主页、第一页、第四页、第六页

    * raise  :   无 
    '''

def SHARP_box_ui_setKeyValue(key,value):
    '''√
    设置键值对

    * 参数 
        * *key:要设置的键(字符串格式)
        * *value:要设置的值(字符串格式)

    * 返回 
        * >=0:设置成功
        * <0:设置失败

    * 示例 box_ui_setKeyValue("SendWebServices.Resultdata","key_val1")

    * raise  :   无 
    '''

def SHARP_box_ui_appendKeyValue(key,value):
    '''√
    追加键值对

    * 参数 : 
        * *key:要追加的键(字符串格式)
        * *value:获追加的值(字符串格式)

    * 返回 
        * >=0:追加成功
        * <0:追加失败

    * 示例 box_ui_appendKeyValue("SendWebServices.Resultdata","key_val2")
    
    * raise  :   无 
    '''

def SHARP_box_ui_getKeyValue(key,value):
    '''√
    获取键值对

    * 参数 : 
        * *key:要获取的键(字符串格式)
        * *value:获取到的值(字符串格式)

    * 返回 
        * >=0:获取成功
        * <0:获取失败

    * 示例 :: GetKeyVal="\0"*50  #申请缓冲区
                box_ui_getKeyValue("SendWebServices.Resultdata",GetKeyVal)
                if "key_val1" in GetKeyVal:
                print('ok')
    * raise  :   无 
    '''

def SHARP_box_ui_readKeyValueData(key,offset,size,data):
    '''√
    读取键值对里的某一段数据

    * 参数 
        * *key:要获取的键(字符串格式)
        * offset:数据内容偏移
        * size:要读取的数据大小
        * *data:读取到的数据

    * 返回 
        * 读取到的数据大小
        * <0:读取失败

    * 示例 ：readKeyValue="\0"*50
                box_ui_readKeyValueData("SendWebServices.Resultdata",1,4,readKeyValue)
    
    * raise  :   无 
    '''

def SHARP_box_ui_readKeyValueLine(key,line,data):
    '''√
    读取键值对里的某一行数据

    * 参数 
        * *key:要获取的键(字符串格式)
        * line:第line行
        * *data:读取到的某一行数据

    * 返回 
        * 读取到的数据大小
        * <0:读取失败

    * 示例 ：readKeyLine="\0"*50
            box_ui_readKeyValueLine("SendWebServices.Resultdata",0,readKeyLine)

    '''

def SHARP_box_ui_saveKeyValue():
    '''√
    保存已经设置的键值对

    * 参数 : 无

    * 返回 
        * >=0:保存成功
        * <0:保存失败

    * 示  例 ：

    * raise  :   无  
    '''

def SHARP_box_ui_clearKeyValue():
    '''√
    清除键值对

    * 参数 : 无

    * 返回 
        * >=0:清除成功
        * <0:清除失败

    * 示例 ：

    * raise  :   无  
    '''

def SHARP_box_ui_Project_Name_Page3(content):
    '''√
    设置工程名

    * 参数 
        * *content:内容(字符串格式)

    * 返回 
        * 写入数据成功,返回0
        * 写入数据失败,返回-1

    * raise  :   无              
    '''

def SHARP_box_ui_MAINCPU_Page3(content):
    '''√
    设置主控板信息

    * 参数 
        * *content:内容(字符串格式)

    * 返回 
        * 写入数据成功,返回0
        * 写入数据失败,返回-1

    * raise  :   无             
    '''

def SHARP_box_ui_MainGPU_Page3(content):
    '''√
    设置主控板FPGA信息

    * 参数 
        * *content:内容(字符串格式)

    * 返回 
        * 写入数据成功,返回0
        * 写入数据失败,返回-1

    * raise  :   无               
    '''

def SHARP_box_ui_KeyBox_Page3(content):
    '''√
    设置按键盒版本信息

    * 参数 
        * *content:内容(字符串格式)

    * 返回 
        * 写入数据成功,返回0
        * 写入数据失败,返回-1

    * raise  :   无                 
    '''

def SHARP_box_ui_IP_Page3(content):
    '''√
    设置第三页IP

    * 参数 
        * *content:内容(字符串格式)

    * 返  回 
        * 写入数据成功,返回0
        * 写入数据失败,返回-1

    * raise  :   无            
    '''

def SHARP_box_ui_PN_Page3(content):
    '''√
    设置第三页PN

    * 参数 
        * *content:内容(字符串格式)

    * 返回 
        * 写入数据成功,返回0
        * 写入数据失败,返回-1

    * raise  :   无                 
    '''

def SHARP_box_ui_Power_Page3(Flag,content):
    '''√
    设置电源板的信息

    * 参数 
        * Flag: 选择第几块电源板(一共1,2,3,4可选择) 
        * *content:内容(字符串格式)

    * 返回 
        * 写入数据成功,返回0
        * 写入数据失败,返回-1
                
    * raise  :   无   
    '''

def SHARP_box_ui_Black_Page3(Flag,content):
    '''√
    设置背光板的信息

    * 参数 
        * Flag: 选择第几块背光板(一共1,2,3,4可选择)
        * *content:内容(字符串格式)

    * 返回 
        * 写入数据成功,返回0
        * 写入数据失败,返回-1 

    * raise  :   无           
    '''

def SHARP_box_ui_FPGA_Page3(Flag,content):
    '''√
    设置信号板的信息

    * 参数 
        * Flag: 选择第几块信号板(一共1,2,3,4可选择)
        * *content:内容(字符串格式)

    * 返回 
        * 写入数据成功,返回0
        * 写入数据失败,返回-1
                
    * raise  :   无 
    '''

def SHARP_box_ui_Singn_Page3(Flag,content):
    '''√
    设置信号板的信息

    * 参数 
        * Flag: 选择第几块信号板(一共1,2,3,4可选择)
        * *content:内容(字符串格式)

    * 返回 
        * 写入数据成功,返回0;
        * 写入数据失败,返回-1

    * raise  :   无             
    '''

def SHARP_boxui_getDate(format,dateTime):
    '''√ 但是时间不对

    获取日期时间

    * 参数 
        * *format:日期时间格式(字符串格式)
        * *dateTime:获取到的日期时间(字符串格式)

    * 返回 
        * >=0:获取成功
        * <0:获取失败

    * 示例 ：GetTime="yyyy-MM-dd:hh:mm:ss"
                getDate="\0"*50
                ret = boxui_getDate(GetTime,getDate)
                print(getDate)
    '''

def SHARP_boxui_showCurve(curveName,curveColor):
    '''特殊功能没做测试
    显示曲线

    * 参数 
        * *curveName:曲线名(字符串形式)
        * curveColor:曲线颜色
    
    * 返回 
        * >=0:显示成功
        * <0:显示失败

    * 示例 ：

    * raise  :   无   
    '''

def SHARP_boxui_AdjustAGDGParam_Gammaxy(sendKey):
    '''
    计算Gammaxy结果

    * 参数 
        * *sendKey:要计算的集合(同上位机第5页的按键功能一致)

    * 返回 
        * >=0:计算回发成功
        * <0:计算回发失败

    * 示例 ：boxui_AdjustAGDGParam_Gammaxy('Gammaxy.')
                获取的结果用这个函数：boxui_getKeyValue("Adjusted_Registers")

    * raise  :   无               
    '''

def SHARP_boxui_creatTableN(tabelName,row,column,name):
    '''
    创建表格(在界面上的某一页创建一个表格,ps:目前只有第六页有这个功能)

    * 参数 
        * *tabelName:表格唯一ID(字符串格式),格式(页面_位置)(例如:"6_0",意思是:在第六页创建一个第一个的表格)
        * row:创建的表格有row行数
        * column:创建的表格有column列数
        * *name:标题栏(字符串格式)

    * 返回 
        * >=0:创建成功
        * <0:创建失败

    * 示例 boxui_creatTableN("6_0", 6, 6, "test1")

    * raise  :   无 
    '''

def SHARP_boxui_setTableContentN(tabelName,row,column,content,bgcolor,width,height,text_size):
    '''
    设置表格内容(在界面上的某一页已有表格上设置对应第row行和第column列的内容,ps:目前只有第六页有这个功能)

    * 参数 
        * row:表格的第row行
        * column:表格的第column列
        * *content:对应要设置的第row行第column列的内容
        * bgcolor:对应要设置的第row行第column列的背景颜色(0x00FF00表示绿色)
        * width:第column列的表格内容宽度(以像素为单位,为0则使用系统默认的像素宽度)
        * height:第row行的表格内容高度(以像素为单位,为0则使用系统默认的像素长度)
        * text_size:内容的字体大小

    * 返回 
        * >=0:设置成功
        * <0:设置失败

    * 示例 ：boxui_setTableContentN("6_0", 1, 1, "test1", 0xFFFFFF, 0, 0, 10)

    * raise  :   无 

    '''

def SHARP_boxui_setTableSpanN(tabelName,row,column,x_count,y_count,content):
    '''
    合并表格并可设置内容(在界面上的某一页已有表格上合并对应第row行和第column列的内容,ps:目前只有第六页有这个功能)

    * 参数 
        * row:表格的第row行
        * column:表格的第column列
        * x_count:合并x_count个
        * y_count:合并y_count个
        * *content:合并之后的内容(字符串格式),可以为空(content = 0)则内容为row行column列的内容

    * 返回 
        * >=0:合并成功
        * <0:合并失败

    * 示例 boxui_setTableSpanN("6_0", 2, 2, 2, 2, "test1")
    
    * raise  :   无 
    '''

def SHARP_boxui_setTableSpanN2(tabelName,row,column,x_count,y_count,content,bgcolor,text_size,text_color):
    '''
    合并表格并可设置内容(在界面上的某一页已有表格上合并对应第row行和第column列的内容,ps:目前只有第六页有这个功能)

    * 参数 
        * row:表格的第row行
        * column:表格的第column列
        * x_count:合并x_count个
        * y_count:合并y_count个
        * *content:合并后的内容(字符串格式),可以为空(content = 0)则内容为row行column列的内容
        * bgcolor:对应要设置合并后的第row行第column列的背景颜色(0x00FF00表示绿色)
        * text_size:合并后内容的字体大小
        * text_color:合并后内容的字体颜色

    * 返回 
        * >=0:合并成功
        * <0:合并失败

    * 示例 boxui_setTableSpanN2("6_0", 2, 2, 2, 2, "test1", 0xFFFFFF, 10, 0x00FF00)

    * raise  :   无 
    '''

class Boxui(object):
    '''√
    显示盒模块类

    * 参数 : 
        * 
    * 返回 :  
        *
    * 注意 : 
        * 调用时无须实例化 可以直接调用
    * raise  :   无            
    '''

   #'''
   #::
        
        #/* 常用颜色 */
    ARMCMD_BLACK = 0x000000#黑色
    ARMCMD_WHITE = 0xFFFFFF#白色
    ARMCMD_YELLOW = 0xFFFF00#黄色
    ARMCMD_GRAY = 0xC0C0C0#灰色
    ARMCMD_CYAN = 0x00FFFF#青色
    ARMCMD_ORANGE = 0xFF6100#橙色
    ARMCMD_GREEN = 0x00FF00#绿色
    ARMCMD_BROWN = 0x802A2A#棕色
    ARMCMD_RED = 0xFF0000#红色
    ARMCMD_BLUE = 0x0000FF#蓝色
    ARMCMD_PINK = 0xFFC0CB#粉红色
    ARMCMD_POWDER_BLUE = 0xB0E0E6#浅灰蓝色
    ARMCMD_ABAISER = 0x292421#象牙黑
    ARMCMD_BANANA = 0xE3CF57#香蕉色
    ARMCMD_ROYAL_BLUE = 0x4169E1#品蓝色
    ARMCMD_COLD_GRAY = 0x808A87#冷灰色
    ARMCMD_SKY_BLUE = 0x87CEEB#天蓝色
    ARMCMD_GOLDEN_YELLOW = 0xFFD700#金黄色
    ARMCMD_SAFFRON = 0xFF8000#桔黄色
    ARMCMD_BEIGE = 0xA39480#米色
    ARMCMD_IVORY = 0xFAFFF0#象牙白
    ARMCMD_TAWNY = 0xF0E68C#黄褐色
    ARMCMD_ROSE = 0xBC8F8F#玫瑰红
    ARMCMD_SNOW = 0xFFFAFA#雪白色
    ARMCMD_PURPLE = 0xA020F0#紫色
    ARMCMD_LAVENDER = 0xDA70D6#淡紫色
    ARMCMD_SEPIA = 0xD2B48C#棕褐色
    
   #'''

    def getCmd(cls):
        '''√
        读取对应指令数据

        * 参数 : 
            * *str:返回对应指令数据(字符串)

        * 返回 
            * >=0:返回对应指令数据(字符串)成功
            * -1:接收超时
            * -2:接收指令错误

        * raise  :   无            
        '''

    def printf(cls,fmt):
        '''√
        打印内容到第二页右边的文本框,相当于printf函数

        * 参数 
            * *fmt:内容格式(字符串格式)

        * 返回 
            * >=0:打印成功
            * <0:打印失败

        * raise  :   无                 
        '''

    def clearPrintf(cls):
        '''√
        清空第二页右边文本框打印的内容

        * 参数 : 无

        * 返回 
            * >=0:清空成功
            * <0:清空失败

        * raise  :   无                  
        '''

    def selectShowPage(cls,page):
        '''√
        选择显示某页界面

        * 参数 : 无

        * 返回
            * >=0:显示成功
            * <0:显示失败

        * raise  :   无                 
        '''

    def creatButton(cls,name,page):
        '''√
        创建按键(在界面上指定的页面动态创建一个按键,创建过多可能会显示不全)

        * 参数 
            * *name:按键的名称(字符串格式,过多字符可能会显示不全,可创建中文按键) 
            * page:页面(0~1)(从0(首页)开始,1为第一页)

        * 返回 
            * >=0:创建成功
            * <0:创建失败
                    
        * raise  :   无                
        '''

    def creatButtonPage4(cls,name,x,y,height,width,size):
        '''√
        创建按键(在界面上的第4页动态创建一个按键,创建过多可能会显示不全)

        * 参数 
            * *name:按键的名称(字符串格式,过多字符可能会显示不全,可创建中文按键)
            * x:起始横坐标
            * y:起始纵坐标
            * height:按键的高度
            * width:按键的宽度
            * size:按键的字体大小

        * 返回
            * >=0:创建成功
            * <0:创建失败
        
        * raise  :   无    
        '''

    def setButton_backColor(cls,name,color):
        '''√
        设置已创建的按键背景颜色

        * 参数 
            * *name:要设置的按键名称(字符串格式)
            * color:按键的背景颜色(pcui.h里有常用颜色,或等于 NOT 宏定义(表示不设置标签的背景颜色))

        * 返  回 
            * >=0:创建成功
            * <0:创建失败

        * raise  :   无                
        '''

    def getButton_backColor(cls,name):
        '''√
        获取已创建的按键背景颜色

        参数 
            * name:要获取的按键名称(字符串格式)
        
        * 返回 
            * 返回按键的背景颜色(返回格式:0xXXXXXX)
            * <0:获取失败

        * raise  :   无                
        '''

    def setLabel_Parameter(cls,name,content,color):
        '''√
        设置标签参数(在界面上的首页动态创建一个标签,并设置标签的字体颜色和内容,若标签名相同,则只设置标签的字体颜色或标签内容)

        * 参数 
            * name:标签名(字符串格式,过多字符可能会显示不全,可中文标签名)
            * *content:标签名的内容(字符串格式,或等于 0 或 NULL(表示不设置标签名的内容),过多字符可能会显示不全)
            * color:标签名的字体颜色(pcui.h里有常用颜色,或等于 NOT 宏定义(表示不设置标签的字体颜色))

        * 返回 
            * >=0:设置成功
            * <0:设置失败
        
        * raise  :   无
        '''

    def setLineEdit_Parameter(cls,name,content):
        '''√
        设置单行编辑框参数(在界面上的首页动态创建一个单行编辑框)

        * 参数 
            * *name:单行编辑框左边的标签名(字符串格式,过多字符可能会显示不全,可中文标签名)
            * *content:编辑框里的内容(字符串格式,或等于 0(表示没有内容),过多字符可能会显示不全,可中文内容)

        * 返回
            * >=0:设置成功
            * <0:设置失败

        * raise  :   无            
        '''

    def setLineEdit_ParameterPage4(cls,x1,y1,width,size,bgcolor,type,name,content):
        '''√
        设置单行编辑框参数(在界面上的第4页上某一位置动态创建一个单行编辑框)

        * 参数 
            * x1:起点横坐标(以像素为单位)
            * y1:起点纵坐标(以像素为单位)
            * width:单行编辑框的宽度(以像素为单位)
            * size:单行编辑框左边标签名的字体大小
            * bgcolor:单行编辑框的背景颜色
            * type:单行编辑框类型(0:编辑框里面的内容不可以修改,1:编辑框里面的内容可以修改)
            * *name:单行编辑框左边的标签名(字符串格式,过多字符可能会显示不全,可中文标签名)
            * *content:编辑框里的内容(字符串格式,或等于 0(表示没有内容),过多字符可能会显示不全,可中文内容)

        * 返回 
            * >=0:设置成功
            * <0:设置失败
        
        * raise  :   无   
        '''

    def getLineEdit_Content(cls,name,content):
        '''√
        获取单行编辑框内容(获取界面上的首页已设置的单行编辑框内容)

        * 参数
            * *name:要获取的单行编辑框左边的标签名(字符串格式,过多字符可能会显示不全,可中文标签名)
            * *content:存放获取到编辑框里的内容(字符串格式,可中文内容)

        * 返回 
            * >=0:获取成功
            * <0:获取失败
        
        * raise  :   无   
        '''

    def getLineEdit_ContentPage4(cls,name,content):
        '''√
        获取单行编辑框内容(获取界面上的第4页已设置的单行编辑框内容)

        * 参数 
            * *name:要获取的单行编辑框左边的标签名(字符串格式,过多字符可能会显示不全,可中文标签名)
            * *content:存放获取到编辑框里的内容(字符串格式,可中文内容)

        * 返回 
            * >=0:获取成功
            * <0:获取失败

        * raise  :   无            
        '''

    def setDialog(cls,content,type):
        '''√
        设置对话框(在界面上弹出一个对话框)

        * 参数 
            * *content:对话框的内容(字符串格式,可中文内容)
            * type:对话框类型(0:不带编辑框,1:带编辑框)

        * 返回 
            * >=0:设置成功
            * <0:设置失败

        * raise  :   无               
        '''

    def creatTable(cls,row,column):
        '''√
        创建表格(在界面上的第三页创建一个表格)

        * 参数 
            * row:表格的行数
            * column:表格的列数

        * 返回 
            * >=0:创建成功
            * <0:创建失败

        * raise  :   无               
        '''

    def setRowTableName(cls,name,nameLen,height,bgcolor):
        '''√
        设置行表格名(在界面上的第三页已有表格设置行表格名)

        * 参数 
            * name:行表格名 (列表形式传回 ,最多支持256个数据)
            * nameLen:行表格名的个数
            * height:行表格名的高度(以像素为单位,为0则使用系统默认的像素长度)
            * bgcolor:行表格名的背景颜色(pcui.h里有常用颜色,或等于 NOT 宏定义(表示使用默认的背景颜色))

        * 返回 : 
            * >=0:设置成功
            * <0:设置失败

        * raise  :   无               
        '''

    def setColumnTableName(cls,name,nameLen,breadth,bgcolor):
        '''√
        设置列表格名(在界面上的第三页已有表格设置列表格名)

        * 参数
            * name:列表格名(列表形式传回 ,最多支持256个数据)
            * nameLen:列表格名的个数
            * breadth:列表格名的宽度(以像素为单位,为0则使用系统默认的像素宽度)
            * bgcolor:列表格名的背景颜色(pcui.h里有常用颜色,或等于 NOT 宏定义(表示使用默认的背景颜色))

        * 返回 
            * >=0:设置成功
            * <0:设置失败
        
        * raise  :   无       
        '''

    def setTableContent(cls,row,column,content,color,width,height,text_size):
        '''√
        设置表格内容(在界面上的第三页已有表格上设置对应第n行和第n列的内容)

        * 参数 
            * row:表格的行数
            * column:表格的列数
            * *content:对应第row行和第column列的内容
            * color:对应第row行和第column列的背景颜色
            * width:列表格内容的宽度(以像素为单位,为0则使用系统默认的像素宽度)
            * height:行表格内容的高度(以像素为单位,为0则使用系统默认的像素长度)
            * text_size:字体大小

        * 返回 
            * >=0:设置成功
            * <0:设置失败

        * raise  :   无   
        '''

    def creatColorBlock(cls,x1,y1,x2,y2,color):
        '''√
        在界面上的第四页上创建一个色块

        * 参数
            * x1:起点横坐标(以像素为单位)
            * y1:起点纵坐标(以像素为单位)
            * x2:终点横坐标(以像素为单位)
            * y2:终点纵坐标(以像素为单位)
            * color:色块的背景颜色

        * 返回 
            * >=0:设置成功
            * <0:设置失败
        
        * raise  :   无   
        ''' 

    def setBlockContentPage4(cls,x1,y1,x2,y2,color,bgcolor,size,content):
        '''√
        在界面上的第四页上设置内容(带背景颜色)

        * 参数 
            * x1:起点横坐标(以像素为单位)
            * y1:起点纵坐标(以像素为单位)
            * x2:终点横坐标(以像素为单位)
            * y2:终点纵坐标(以像素为单位)
            *  color:内容的字体颜色
            * size:内容的字体大小
            * *content:色块里的内容(字符串格式)

        * 返回 
            * >=0:设置成功
            * <0:设置失败

        * raise  :   无             
        '''

    def createEwm(cls,name):
        '''×
        在首页创建一个扫码框

        * 参数 
            * *name:扫码框的名字

        * 返回 
            * >=0:创建成功
            * <0:创建失败
        
        * raise  :   无     
        '''

    def createEwmPage4(cls,name,x,y,height,width,size):
        '''√
        在第4页上的某个位置创建一个扫码框

        * 参数 
            * *name:扫码框的名字
            * x:起始横坐标
            * y:起始纵坐标
            * height:扫码框的高度
            * width:扫码框的宽度
            * size:扫码框标签的字体大小

        * 返回 
            * >=0:创建成功
            * <0:创建失败
        
        * raise  :   无 
        '''

    def createEspBox(cls,x1,y1,x2,y2):
        '''√
        在第4页上的某个位置创建方框

        * 参数 
            * x1:起点横坐标(以像素为单位)
            * y1:起点纵坐标(以像素为单位)
            * x2:长(以像素为单位)
            * y2:宽(以像素为单位)

        * 返回 
            * >=0:创建成功
            * <0:创建失败

        * raise  :   无             
        '''

    def addComboBox(cls,x1,y1,x2,y2,size,identify,content):
        '''√
        在第4页上的某个位置添加下拉框内容

        * 参数 
            * x1:起点横坐标(以像素为单位)
            * y1:起点纵坐标(以像素为单位)
            * x2:终点横坐标(以像素为单位)
            * y2:终点纵坐标(以像素为单位)
            * size:字体大小
            * *identify:某组下拉框的标识名
            * *content:下拉框内容

        * 返回 
            * >=0:添加成功
            * <0:添加失败

        * raise  :   无               
        '''

    def getComboBox(cls,identify,content):
        '''√
        根据某组下拉框标识名获取选中的内容

        * 参数 
            * *identify:某组下拉框的标识名
            * *content:获取到的下拉框内容

        * 返回 
            * >=0:获取成功
            * <0:获取失败

        * raise  :   无             
        '''

    def clearComboBox(cls,identify):
        '''√
        根据某组下拉框标识名清除所有内容

        * 参数 
            * *identify:某组下拉框的标识名

        * 返回 
            * >=0:清除成功
            * <0:清除失败

        * raise  :   无            
        '''

    def clearFourPage(cls):
        '''√
        清除在界面上第四页里的所有色块和内容

        * 参数 : 无

        * 返回 
            * >=0:清除成功
            * <0:清除失败

        * raise  :   无              
        '''

    def clearWidget(cls):
        '''√
        清除界面上的所有控件

        * 参数 : 无

        * 返回 
            * >=0:清除成功
            * <0:清除失败

        * raise  :   无                
        '''

    def locationEwmCursor(cls,name):
        '''√     
        定位在第4页的扫码框光标

        * 参数 
            * *name:扫码框的名字

        * 返回 
            * >=0:定位成功
            * <0:定位失败
        
        * raise  :   无 
        '''

    def setTableSpan(cls,row,column,x_count,y_count,content):
        '''√
        合并表格并可设置内容

        * 参数 
            * row:行
            * column:列
            * x_count:x个
            * y_count:y个
            * *content:内容(字符串格式)

        * 返回 
            * >=0:合并成功
            * <0:合并失败

        * raise  :   无             
        '''

    def createTableWidget(cls,row,column,flag):
        '''√
        创建表格(在界面上的第三页创建一个表格,带是否不拖动功能)

        * 参数 
            * row:表格的行数
            * column:表格的列数
            * flag:是否不拖动表格的长宽(flag = 0:不拖动,flag = 1:拖动)

        * 返回 
            * >=0:创建成功
            * <0:创建失败

        * raise  :   无             
        '''

    def setTableContent2(cls,row,column,content,color,width,height,text_size,text_color):
        '''√
        设置表格内容(在界面上的第三页已有表格上设置对应第n行和第n列的内容)

        * 参数 
            * row:表格的行数
            * column:表格的列数
            * *content:对应第row行和第column列的内容
            * color:对应第row行和第column列的背景颜色
            * width:列表格内容的宽度(以像素为单位,为0则使用系统默认的像素宽度)
            * height:行表格内容的高度(以像素为单位,为0则使用系统默认的像素长度)
            * text_size:字体大小
            * text_color:字体颜色

        * 返回 
            * >=0:设置成功
            * <0:设置失败
        
        * raise  :   无   
        '''

    def setTableContentN2(cls,tabelName,row,column,content,bgcolor,width,height,text_size,text_color):
        '''
        设置表格内容(在界面上的某一页已有表格上设置对应第row行和第column列的内容,ps:目前只有第六页有这个功能)

        * 参数 
            * row:表格的第row行
            * column:表格的第column列
            * *content:对应要设置的第row行第column列的内容
            * bgcolor:对应要设置的第row行第column列的背景颜色(0x00FF00表示绿色)
            * width:第column列的表格内容宽度(以像素为单位,为0则使用系统默认的像素宽度)
            * height:第row行的表格内容高度(以像素为单位,为0则使用系统默认的像素长度)
            * text_size:内容的字体大小
            * text_color:内容的字体颜色

        * 返回 
            * >=0:设置成功
            * <0:设置失败

        * raise  :   无               
        '''

    def setTableSpan2(cls,row,column,x_count,y_count,content,bgcolor,text_size,text_color):
        '''√
        合并界面上的第三页已有表格并可设置内容

        * 参数 
            * row:行
            * column:列
            * x_count:x个
            * y_count:y个
            * *content:内容(字符串格式)
            * bgcolor:对应要设置合并后的第row行第column列的背景颜色(0x00FF00表示绿色)
            * text_size:合并后内容的字体大小
            * text_color:合并后内容的字体颜色

        * 返回
            * >=0:合并成功
            * <0:合并失败

        * raise  :   无                  
        '''

    def createTableWidget2(cls,row,column,flag1,flag2):
        '''√
        创建表格(在界面上的第三页创建一个表格,并且可以对表头进行固定操作(是否不拖动功能)或隐藏操作)

        * 参数 
            * row:表格的行数
            * column:表格的列数
            * flag1:表头固定操作(是否不拖动表格的长宽(flag1 = 0:固定(不拖动),flag1 = 1:不固定(拖动)))
            * flag2:表头隐藏操作(flag2 = 0:隐藏,flag2 = 1:不隐藏)

        * 返回
            * >=0:创建成功
            * <0:创建失败

        * raise  :   无                
        '''

    def setCurrentTabs(cls,mianTab,subTab):
        '''√
        选择显示某页界面

        * 参数 : 
            *mianTab : 切换到指定页面(范围0-6，0为主页)
            *subTab  : 切换到指定页面里的子页面(不需要传递此参数时可以设为-1)，mianTab为6时要传递此参数

        * 返回 
            * >=0:显示成功
            * <0:显示失败

        * raise  :   无                  
        '''

    def showTabs(cls,nums):
        '''√
        只显示某一页或者几页

        * 参数 : 
            * nums : 需要显示的页面，其他页面则会隐藏

        * 返回 
            * >=0:显示成功
            * <0:显示失败

        * 示  例 : show_box_ui_showTabs("0,1,4,6");  //显示主页、第一页、第四页、第六页

        * raise  :   无 
        '''

    def setKeyValue(cls,key,value):
        '''√
        设置键值对

        * 参数 
            * *key:要设置的键(字符串格式)
            * *value:要设置的值(字符串格式)

        * 返回 
            * >=0:设置成功
            * <0:设置失败

        * 示例 box_ui_setKeyValue("SendWebServices.Resultdata","key_val1")

        * raise  :   无 
        '''

    def appendKeyValue(cls,key,value):
        '''√
        追加键值对

        * 参数 : 
            * *key:要追加的键(字符串格式)
            * *value:获追加的值(字符串格式)

        * 返回 
            * >=0:追加成功
            * <0:追加失败

        * 示例 box_ui_appendKeyValue("SendWebServices.Resultdata","key_val2")
        
        * raise  :   无 
        '''

    def getKeyValue(cls,key,value):
        '''√
        获取键值对

        * 参数 : 
            * *key:要获取的键(字符串格式)
            * *value:获取到的值(字符串格式)

        * 返回 
            * >=0:获取成功
            * <0:获取失败

        * 示例 :: GetKeyVal="\0"*50  #申请缓冲区
                    box_ui_getKeyValue("SendWebServices.Resultdata",GetKeyVal)
                    if "key_val1" in GetKeyVal:
                    print('ok')
        * raise  :   无 
        '''

    def readKeyValueData(cls,key,offset,size,data):
        '''√
        读取键值对里的某一段数据

        * 参数 
            * *key:要获取的键(字符串格式)
            * offset:数据内容偏移
            * size:要读取的数据大小
            * *data:读取到的数据

        * 返回 
            * 读取到的数据大小
            * <0:读取失败

        * 示例 ：readKeyValue="\0"*50
                    box_ui_readKeyValueData("SendWebServices.Resultdata",1,4,readKeyValue)
        
        * raise  :   无 
        '''

    def readKeyValueLine(cls,key,line,data):
        '''√
        读取键值对里的某一行数据

        * 参数 
            * *key:要获取的键(字符串格式)
            * line:第line行
            * *data:读取到的某一行数据

        * 返回 
            * 读取到的数据大小
            * <0:读取失败

        * 示例 ：readKeyLine="\0"*50
                box_ui_readKeyValueLine("SendWebServices.Resultdata",0,readKeyLine)

        '''

    def saveKeyValue(cls):
        '''√
        保存已经设置的键值对

        * 参数 : 无

        * 返回 
            * >=0:保存成功
            * <0:保存失败

        * 示  例 ：

        * raise  :   无  
        '''

    def clearKeyValue(cls):
        '''√
        清除键值对

        * 参数 : 无

        * 返回 
            * >=0:清除成功
            * <0:清除失败

        * 示例 ：

        * raise  :   无  
        '''

    def Project_Name_Page3(cls,content):
        '''√
        设置工程名

        * 参数 
            * *content:内容(字符串格式)

        * 返回 
            * 写入数据成功,返回0
            * 写入数据失败,返回-1

        * raise  :   无              
        '''

    def MAINCPU_Page3(cls,content):
        '''√
        设置主控板信息

        * 参数 
            * *content:内容(字符串格式)

        * 返回 
            * 写入数据成功,返回0
            * 写入数据失败,返回-1

        * raise  :   无             
        '''

    def MainGPU_Page3(cls,content):
        '''√
        设置主控板FPGA信息

        * 参数 
            * *content:内容(字符串格式)

        * 返回 
            * 写入数据成功,返回0
            * 写入数据失败,返回-1

        * raise  :   无               
        '''

    def KeyBox_Page3(cls,content):
        '''√
        设置按键盒版本信息

        * 参数 
            * *content:内容(字符串格式)

        * 返回 
            * 写入数据成功,返回0
            * 写入数据失败,返回-1

        * raise  :   无                 
        '''

    def IP_Page3(cls,content):
        '''√
        设置第三页IP

        * 参数 
            * *content:内容(字符串格式)

        * 返  回 
            * 写入数据成功,返回0
            * 写入数据失败,返回-1

        * raise  :   无            
        '''

    def PN_Page3(cls,content):
        '''√
        设置第三页PN

        * 参数 
            * *content:内容(字符串格式)

        * 返回 
            * 写入数据成功,返回0
            * 写入数据失败,返回-1

        * raise  :   无                 
        '''

    def Power_Page3(cls,Flag,content):
        '''√
        设置电源板的信息

        * 参数 
            * Flag: 选择第几块电源板(一共1,2,3,4可选择) 
            * *content:内容(字符串格式)

        * 返回 
            * 写入数据成功,返回0
            * 写入数据失败,返回-1
                    
        * raise  :   无   
        '''

    def Black_Page3(cls,Flag,content):
        '''√
        设置背光板的信息

        * 参数 
            * Flag: 选择第几块背光板(一共1,2,3,4可选择)
            * *content:内容(字符串格式)

        * 返回 
            * 写入数据成功,返回0
            * 写入数据失败,返回-1 

        * raise  :   无           
        '''

    def FPGA_Page3(cls,Flag,content):
        '''√
        设置信号板的信息

        * 参数 
            * Flag: 选择第几块信号板(一共1,2,3,4可选择)
            * *content:内容(字符串格式)

        * 返回 
            * 写入数据成功,返回0
            * 写入数据失败,返回-1
                    
        * raise  :   无 
        '''

    def Singn_Page3(cls,Flag,content):
        '''√
        设置信号板的信息

        * 参数 
            * Flag: 选择第几块信号板(一共1,2,3,4可选择)
            * *content:内容(字符串格式)

        * 返回 
            * 写入数据成功,返回0;
            * 写入数据失败,返回-1

        * raise  :   无             
        '''

    def getDate(cls,format,dateTime):
        '''√ 但是时间不对

        获取日期时间

        * 参数 
            * *format:日期时间格式(字符串格式)
            * *dateTime:获取到的日期时间(字符串格式)

        * 返回 
            * >=0:获取成功
            * <0:获取失败

        * 示例 ：GetTime="yyyy-MM-dd:hh:mm:ss"
                    getDate="\0"*50
                    ret = boxui_getDate(GetTime,getDate)
                    print(getDate)
        '''

    def showCurve(cls,curveName,curveColor):
        '''特殊功能没做测试
        显示曲线

        * 参数 
            * *curveName:曲线名(字符串形式)
            * curveColor:曲线颜色
        
        * 返回 
            * >=0:显示成功
            * <0:显示失败

        * 示例 ：

        * raise  :   无   
        '''

    def AdjustAGDGParam_Gammaxy(cls,sendKey):
        '''
        计算Gammaxy结果

        * 参数 
            * *sendKey:要计算的集合(同上位机第5页的按键功能一致)

        * 返回 
            * >=0:计算回发成功
            * <0:计算回发失败

        * 示例 ：boxui_AdjustAGDGParam_Gammaxy('Gammaxy.')
                    获取的结果用这个函数：boxui_getKeyValue("Adjusted_Registers")

        * raise  :   无               
        '''

    def creatTableN(cls,tabelName,row,column,name):
        '''
        创建表格(在界面上的某一页创建一个表格,ps:目前只有第六页有这个功能)

        * 参数 
            * *tabelName:表格唯一ID(字符串格式),格式(页面_位置)(例如:"6_0",意思是:在第六页创建一个第一个的表格)
            * row:创建的表格有row行数
            * column:创建的表格有column列数
            * *name:标题栏(字符串格式)

        * 返回 
            * >=0:创建成功
            * <0:创建失败

        * 示例 boxui_creatTableN("6_0", 6, 6, "test1")

        * raise  :   无 
        '''

    def setTableContentN(cls,tabelName,row,column,content,bgcolor,width,height,text_size):
        '''
        设置表格内容(在界面上的某一页已有表格上设置对应第row行和第column列的内容,ps:目前只有第六页有这个功能)

        * 参数 
            * row:表格的第row行
            * column:表格的第column列
            * *content:对应要设置的第row行第column列的内容
            * bgcolor:对应要设置的第row行第column列的背景颜色(0x00FF00表示绿色)
            * width:第column列的表格内容宽度(以像素为单位,为0则使用系统默认的像素宽度)
            * height:第row行的表格内容高度(以像素为单位,为0则使用系统默认的像素长度)
            * text_size:内容的字体大小

        * 返回 
            * >=0:设置成功
            * <0:设置失败

        * 示例 ：boxui_setTableContentN("6_0", 1, 1, "test1", 0xFFFFFF, 0, 0, 10)

        * raise  :   无 

        '''

    def setTableSpanN(cls,tabelName,row,column,x_count,y_count,content):
        '''
        合并表格并可设置内容(在界面上的某一页已有表格上合并对应第row行和第column列的内容,ps:目前只有第六页有这个功能)

        * 参数 
            * row:表格的第row行
            * column:表格的第column列
            * x_count:合并x_count个
            * y_count:合并y_count个
            * *content:合并之后的内容(字符串格式),可以为空(content = 0)则内容为row行column列的内容

        * 返回 
            * >=0:合并成功
            * <0:合并失败

        * 示例 boxui_setTableSpanN("6_0", 2, 2, 2, 2, "test1")
        
        * raise  :   无 
        '''

    def setTableSpanN2(cls,tabelName,row,column,x_count,y_count,content,bgcolor,text_size,text_color):
        '''
        合并表格并可设置内容(在界面上的某一页已有表格上合并对应第row行和第column列的内容,ps:目前只有第六页有这个功能)

        * 参数 
            * row:表格的第row行
            * column:表格的第column列
            * x_count:合并x_count个
            * y_count:合并y_count个
            * *content:合并后的内容(字符串格式),可以为空(content = 0)则内容为row行column列的内容
            * bgcolor:对应要设置合并后的第row行第column列的背景颜色(0x00FF00表示绿色)
            * text_size:合并后内容的字体大小
            * text_color:合并后内容的字体颜色

        * 返回 
            * >=0:合并成功
            * <0:合并失败

        * 示例 boxui_setTableSpanN2("6_0", 2, 2, 2, 2, "test1", 0xFFFFFF, 10, 0x00FF00)

        * raise  :   无 
        '''

